(function() {
// 此处写功能方法

	function round (value, precision, mode) {
	  //  discuss at: http://locutus.io/php/round/
	  // original by: Philip Peterson
	  //  revised by: Onno Marsman (https://twitter.com/onnomarsman)
	  //  revised by: T.Wild
	  //  revised by: Rafał Kukawski (http://blog.kukawski.pl)
	  //    input by: Greenseed
	  //    input by: meo
	  //    input by: William
	  //    input by: Josep Sanz (http://www.ws3.es/)
	  // bugfixed by: Brett Zamir (http://brett-zamir.me)
	  //      note 1: Great work. Ideas for improvement:
	  //      note 1: - code more compliant with developer guidelines
	  //      note 1: - for implementing PHP constant arguments look at
	  //      note 1: the pathinfo() function, it offers the greatest
	  //      note 1: flexibility & compatibility possible
	  //   example 1: round(1241757, -3)
	  //   returns 1: 1242000
	  //   example 2: round(3.6)
	  //   returns 2: 4
	  //   example 3: round(2.835, 2)
	  //   returns 3: 2.84
	  //   example 4: round(1.1749999999999, 2)
	  //   returns 4: 1.17
	  //   example 5: round(58551.799999999996, 2)
	  //   returns 5: 58551.8
	  var m, f, isHalf, sgn // helper variables
	  // making sure precision is integer
	  precision |= 2
	  m = Math.pow(10, precision)
	  value *= m/100
	  // sign of the number
	  sgn = (value > 0) | -(value < 0)
	  isHalf = value % 1 === 0.5 * sgn
	  f = Math.floor(value)
	  if (isHalf) {
		switch (mode) {
		  case 'PHP_ROUND_HALF_DOWN':
		  // rounds .5 toward zero
			value = f + (sgn < 0)
			break
		  case 'PHP_ROUND_HALF_EVEN':
		  // rouds .5 towards the next even integer
			value = f + (f % 2 * sgn)
			break
		  case 'PHP_ROUND_HALF_ODD':
		  // rounds .5 towards the next odd integer
			value = f + !(f % 2)
			break
		  default:
		  // rounds .5 away from zero
			value = f + (sgn > 0)
		}
	  }
	  return (isHalf ? value : Math.round(value)) / m
	}
	
// 此处暴露方法
 /*
  if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {
	 
    define(function() {
      return round;
    });
  } else if (typeof module !== 'undefined' && module.exports) {
    module.exports = round;
  } else {
    window.round = round;
  }
  */
  window.round = round;
	if (typeof module !== 'undefined' && module.exports) {
		module.exports = round;
	}
  
}).call(this);